using System;
using System.Collections.Generic;
using System.Text;

namespace Concurrente.Lab4
{
    class Vehiculo
    {
        #region Constructores
        public Vehiculo()
        {
            placa = "Indeterminado";
            nro_llantas = 0;
        }
        public Vehiculo(
            string _placa, Marca _marca, string _modelo, Color _color, 
            int _nro_llantas, int _anio_fabricacion, double _costo, 
            TipoCombustible _tipo_combustible) 
        {
            placa = _placa;
            marca = _marca;
            modelo = _modelo;
            color = _color;
            nro_llantas = _nro_llantas;
            anio_fabricacion = _anio_fabricacion;
            costo = _costo;
            tipo_combustible = _tipo_combustible;
        }
        #endregion

        #region Atributos y Propiedades
        private string placa;
        public string Placa
        {
            get { return placa; }
            set { placa = value; }
        }

        private Marca marca;
        public Marca Marca
        {
            get { return marca; }
            set { marca = value; }
        }

        private string modelo;
        public string Modelo
        {
            get { return modelo; }
            set { modelo = value; }
        }

        private Color color;
        public Color Color
        {
            get { return color; }
            set { color = value; }
        }

        private int nro_llantas;
        public int NroLlantas
        {
            get { return nro_llantas; }
            set { nro_llantas = value; }
        }

        private int anio_fabricacion;
        public int AnioFabricacion
        {
            get { return anio_fabricacion; }
            set { anio_fabricacion = value; }
        }

        private double costo;
        public double Costo
        {
            get { return costo; }
            set { costo = value; }
        }

        private TipoCombustible tipo_combustible;
        public TipoCombustible TipoCombustible
        {
            get { return tipo_combustible; }
            set { tipo_combustible = value; }
        }
        public int Antiguedad {
            get { return DateTime.Now.Year - anio_fabricacion; }
        }
        #endregion
    }

    enum Marca {
        SinMarca,
        Toyota,
        Nissan,
        Volvo,
        Scannia
    }

    enum Color { 
        Transparente,
        Rojo,
        Verde,
        Azul
    }
    enum TipoCombustible { 
        Indeterminado,
        Gasolina,
        Petroleo,
        GLP,
        Gas_Natural
    }
}
